home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 April / EnigmA AMIGA RUN 26 (1998)(G.R. Edizioni)(IT)[!][issue 1998-04].iso / classx / util / xfa_util / arexx / ppaint_xfatoanim.rexx < prev    next >
OS/2 REXX Batch file  |  1998-03-09  |  3KB  |  135 lines

  1. /*   XFA To Anim5 - PPaint AREXX Interface
  2. **
  3. ** (C) Copyright 1996 ClassX
  4. **
  5. **      Written For ClassX.
  6. **
  7. */
  8.  
  9. /******* Init PPAINT ******/
  10.  
  11. MYPORT = 'PPAINT'
  12.  
  13. IF ~SHOW('P', MYPORT) THEN DO
  14.     IF EXISTS('PPaint:PPaint') THEN DO
  15.         ADDRESS COMMAND 'Run >NIL: PPaint:PPaint'
  16.         DO 30 WHILE ~SHOW('P',MYPORT)
  17.              ADDRESS COMMAND 'Wait >NIL: 1 SEC'
  18.         END
  19.     END
  20.     ELSE DO
  21.         SAY "Personal Paint could not be loaded."
  22.         EXIT 10
  23.     END
  24. END
  25.  
  26. IF ~SHOW('P', MYPORT) THEN DO
  27.     SAY 'Personal Paint Rexx port could not be opened.'
  28.     EXIT 10
  29. END
  30.  
  31. ADDRESS VALUE MYPORT
  32. OPTIONS RESULTS
  33. OPTIONS FAILAT 10000
  34.  
  35. Version 'REXX'
  36. rexxversion = RESULT
  37. IF rexxversion < 3 THEN DO
  38.     errmess = 'This script requires a newer_version of Personal Paint.'
  39.     SAY errmess
  40.     RequestNotify 'PROMPT="'errmess'"'
  41.     EXIT 10
  42. END
  43.  
  44. IF rexxversion < 4 THEN DO
  45.     FreeBrush
  46.     IF RC ~= 0 THEN EXIT
  47.     bshfname = 'T:pprx_bsh.'PRAGMA('ID')
  48.     IF OPEN(bshfile, bshfname, 'W') THEN DO
  49.         WRITECH(bshfile, '464F524D 0000002A 494C424D 424D4844 00000014 00010001 00000000 01020100 00001010 028001E0 424F4459 00000002 FF00'X)
  50.         CALL CLOSE(bshfile)
  51.         LoadBrush bshfname FORCE
  52.     END
  53. END
  54.  
  55.  
  56. /******* Init XFA_Util2 ******/
  57.  
  58.  
  59. ADDRESS "XFA.1"
  60.  
  61. InputMode  XFAAnim          /* Metodo Di Input XFA Anim           */
  62. OutputMode Frames           /* Metodo di output di XFA è FRAMES   */
  63.  
  64. CountFormat ''              /* Il formato di conteggio deve essere ""  */
  65. GetInput                    /* Chiediamo Il nome del File XFA in Input */
  66. OutputName 'T:Frame'        /* Il nome in output è T:Frame             */
  67.  
  68. Convert                     /* Iniziamo La Conversione       */
  69.  
  70. status = -1
  71. count  = 0
  72.  
  73.  
  74. DO WHILE status = -1
  75.     ADDRESS 'XFA.1'
  76.     XFANextFrame
  77.     GetStatus()
  78.     IF status = -1 THEN DO
  79.  
  80.          ADDRESS VALUE MYPORT
  81.             AddFrames                                    /* add one frame */
  82.             SetFramePos NEXT
  83.          fname = 'T:Frame'||count
  84.             LoadImage '"'fname'"' FORCE QUIET
  85.             IF RC ~= 0 THEN DO
  86.                 IF RC = 5 THEN
  87.                     errmess = 'User abort during load.'
  88.                 ELSE IF RC ~= 36 THEN
  89.                     errmess = 'Error 'RC' during load.'
  90.                 IF RC ~= 36 THEN errcode = RC
  91.  
  92.                 DelFrames                                /* delete current (unused) frame */
  93.                 OptimizeAnim QUIET
  94.                 LEAVE
  95.             END
  96.          count = count +1                    /* Contatore dell'Anim    */
  97.  
  98.          ADDRESS 'XFA.1'
  99.          KILLFILE fname                
  100.  
  101.     END
  102.  
  103. END
  104.  
  105.  
  106. ADDRESS 'XFA.1'
  107. XFAClose
  108. Message "Conversion done."
  109.  
  110.  
  111. ADDRESS VALUE MYPORT
  112. UnlockGUI
  113. IF rexxversion < 4 THEN DO
  114.     FreeBrush FORCE
  115.     ADDRESS COMMAND 'Delete >NIL: 'bshfname
  116. END
  117.  
  118. Exit(0)
  119.  
  120.  
  121.  
  122.  
  123. GetStatus:
  124.      IF OPEN('sfile', 'ENV:XFAStatus', 'READ') THEN DO
  125.       status=READLN('sfile')
  126.       CLOSE('sfile')
  127.     END
  128.     RETURN status
  129.  
  130.  
  131. Abort:
  132.     ADDRESS 'XFA.1'
  133.     Message '"Operation Aborted By The User."'
  134.     Exit(0)
  135.